// hash example
#include <functional>
#include <iostream>
#include <string>

int main() {
  char nts1[] = "Test";
  char nts2[] = "Test";
  std::string str1(nts1);
  std::string str2(nts2);

  std::hash<char *> ptr_hash;
  std::hash<std::string> str_hash;

  std::cout << "same hashes:\n" << std::boolalpha;
  std::cout << "nts1 and nts2: " << (ptr_hash(nts1) == ptr_hash(nts2))
            << " hash value: " << ptr_hash(nts2) << '\n'; // 140729067617144
  std::cout << "str1 and str2: " << (str_hash(str1) == str_hash(str2))
            << " hash value: " << str_hash(str2) << '\n'; // 1631790366531532337

  return 0;
}
